package com.hmdp.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;

@Data
@TableName("distributed_transaction_message")
public class MessageRecord {
    @TableId(type = IdType.AUTO)
    private Long id;

    @TableField("message_id")
    private String messageId;

    // 目标服务信息
    @TableField("service_name")
    private String serviceName;

    // 方法信息（新增字段）
    @TableField("method_name")
    private String methodName;
    @TableField("class_name")
    private String className;          // 新增：完整类名
    @TableField("original_method_name")
    private String originalMethodName; // 新增：原始方法名

    // 调用参数
    @TableField("params_json")
    private String paramsJson;

    // 状态控制
    private Integer status;
    @TableField("retry_count")
    private Integer retryCount;
    @TableField("next_retry_time")
    private Date nextRetryTime;

    // 重试配置（新增字段）
    @TableField("max_retry")
    private Integer maxRetry;          // 新增：最大重试次数
    @TableField("retry_interval")
    private Long retryInterval;        // 新增：重试间隔(秒)

    // 时间记录
    @TableField("create_time")
    private Date createTime;
    @TableField("update_time")
    private Date updateTime;

}